package edu.ntnu.superrss.service;
import com.sun.syndication.fetcher.FetcherException;
import com.sun.syndication.io.FeedException;
import edu.ntnu.superrss.models.SyndFeedImpl;
import edu.ntnu.superrss.models.User;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.List;
import org.hibernate.HibernateException;

/**
 *
 * @author Morten
 */
public interface FeedService {

    public void removeFeed(User user, Long id) throws HibernateException, NullPointerException;
    public void removeFeed(String user, Long id) throws HibernateException, NullPointerException;
    public SyndFeedImpl addFeed(String user, String url) throws HibernateException, NullPointerException, MalformedURLException, IllegalArgumentException, IOException, FeedException, FetcherException;

    public List getFeeds(String username);
    public List getFeedsByCategory(String username, Long categoryFilterId);
    public SyndFeedImpl getFeed(Long id);
    
    public void updateFeed(SyndFeedImpl feed);
}
